package com.doit.day01

//def 方法声明的标志
//main 方法名称
//args: Array[String]  方法的参数 类似于 String [] args
//Unit  返回值类型，类似于void 代表没有返回值的意思
object _08_方法 {
  def main(args: Array[String]): Unit = {
    //调用方法
    //1.如果这个方法定义在object 本类中，那么直接写方法名
    getNine(0)
    println(add(1, 2))
    //2.方法定义在object类中，不在本类中，需要用类名点方法名
    println(MethodUtils.getMax(1, 2, 3))
    //3.方法定义在class类中，就和java中的一样 创建对象，用对象调用方法
    val person: Person = new Person
    person.canStudy()






  }

  //写一个两数相加的方法
  //定义方法的时候，如果说，最后一行代码没有写return的话，返回值类型可以不写
  def add(a: Int, b: Int)= {
    a + b
  }

  //如果说，一个方法他没有参数，那么定义的时候()可以省略
  def sayHello()={
    println("hello")
  }


  //需求 写一个方法
  //这个方法穿进去一个int类型的值 判断一下，如果值是1-9 那么就打印这个99乘法表
  //输入的是几就打印到几  如果说，传了一个值不在这个范围 打印一句话，上课不听话
  def getNine(num: Int) = {
    if (num > 9 || num < 1) {
      println("不听话")
    }else{
      for(i <- 1 to num; j <- 1 to i){
        print(s"$i * $j = ${i*j} \t")
        if (i == j) println()
      }
    }
  }

}
